<?php
namespace App\Models\Tools;

/**
 * 时间设置
 * Class Period
 * @package App\Models\Tools
 */
class Period
{

    // 接单后可投稿时间
    const EXPLORE_UPLOAD_LIMIT_TIME = [
        'production' => 60 * 60 * 3, // 3小时
        'testing'    => 60 * 3, // 3分钟
    ];

    // 投稿超时时间
    // 刚接单的的时候，在商家设置的探店止期的当日的00:00:00起，后延48小时超时（实际是到探店止期第二天的晚上）
    // 验收拒回状态操作以后，后延48小时超时
    const EXPLORE_UPLOAD_OVERTIME = [
        'production' => 60 * 60 * 24 * 2, // 2天
        'testing'    => 60 * 60 * 24 * 2, // 2天
    ];

    // 投稿验收超时时间（从投稿时间开始算起）
    const EXPLORE_ACCEPTANCE_OVERTIME = [
        'production' => 60 * 60 * 24 * 2, // 2天
        'testing'    => 60 * 5, // 5分钟
    ];

    // 进入待结算时间（从投稿时间开始算起）
    const EXPLORE_CHECK_TIME = [
        'production' => 60 * 60 * 24 * 3, // 3天
        'testing'    => 60 * 5, // 5分钟
    ];

    // 接单推送 订单数量阈值
    const OVERFLOW_TIMES = [
        'production' => 5,
        'testing'    => 5,
    ];

    // 霸王餐 自动开奖人数
    const LOTTERY_PARTICIPATE_NUMBERS = [
        'production' => [
            Data::DATA_DB_LAIFEI_SHOP_TYPE_REPAST    => 2, // 美食
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FUN       => 2, // 玩乐
            Data::DATA_DB_LAIFEI_SHOP_TYPE_BEAUTY    => 2, // 丽人
            Data::DATA_DB_LAIFEI_SHOP_TYPE_EDUCATION => 2, // 教培
            Data::DATA_DB_LAIFEI_SHOP_TYPE_MARRY     => 2, // 结婚
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FITNESS   => 2, // 健身
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOTEL     => 2, // 酒旅
            Data::DATA_DB_LAIFEI_SHOP_TYPE_PARENT    => 2, // 亲子
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOT       => 10, // 热门

        ],
        'testing'    => [
            Data::DATA_DB_LAIFEI_SHOP_TYPE_REPAST    => 1, // 美食
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FUN       => 1, // 玩乐
            Data::DATA_DB_LAIFEI_SHOP_TYPE_BEAUTY    => 1, // 丽人
            Data::DATA_DB_LAIFEI_SHOP_TYPE_EDUCATION => 1, // 教培
            Data::DATA_DB_LAIFEI_SHOP_TYPE_MARRY     => 1, // 结婚
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FITNESS   => 1, // 健身
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOTEL     => 1, // 酒旅
            Data::DATA_DB_LAIFEI_SHOP_TYPE_PARENT    => 1, // 亲子
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOT       => 2, // 热门
        ],
    ];

    // 霸王餐 开奖时间
    const LOTTERY_PARTICIPATE_TIME = [
        'production' => [
            Data::DATA_DB_LAIFEI_SHOP_TYPE_REPAST    => 24 * 60 * 60, // 美食
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FUN       => 24 * 60 * 60, // 玩乐
            Data::DATA_DB_LAIFEI_SHOP_TYPE_BEAUTY    => 24 * 60 * 60, // 丽人
            Data::DATA_DB_LAIFEI_SHOP_TYPE_EDUCATION => 24 * 60 * 60, // 教培
            Data::DATA_DB_LAIFEI_SHOP_TYPE_MARRY     => 24 * 60 * 60, // 结婚
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FITNESS   => 24 * 60 * 60, // 健身
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOTEL     => 24 * 60 * 60, // 酒旅
            Data::DATA_DB_LAIFEI_SHOP_TYPE_PARENT    => 24 * 60 * 60, // 亲子
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOT       => 48 * 60 * 60, // 热门
        ],
        'testing'    => [
            Data::DATA_DB_LAIFEI_SHOP_TYPE_REPAST    => 1 * 60 * 60, // 美食
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FUN       => 1 * 60 * 60, // 玩乐
            Data::DATA_DB_LAIFEI_SHOP_TYPE_BEAUTY    => 1 * 60 * 60, // 丽人
            Data::DATA_DB_LAIFEI_SHOP_TYPE_EDUCATION => 1 * 60 * 60, // 教培
            Data::DATA_DB_LAIFEI_SHOP_TYPE_MARRY     => 1 * 60 * 60, // 结婚
            Data::DATA_DB_LAIFEI_SHOP_TYPE_FITNESS   => 1 * 60 * 60, // 健身
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOTEL     => 1 * 60 * 60, // 酒旅
            Data::DATA_DB_LAIFEI_SHOP_TYPE_PARENT    => 1 * 60 * 60, // 亲子
            Data::DATA_DB_LAIFEI_SHOP_TYPE_HOT       => 1 * 60 * 60, // 热门
        ],
    ];

    // 霸王餐 开奖可以参与的时间
    const LOTTERY_NEXT_MEMBER = [
        'production' => 3 * 60 * 60,  // 3小时
        'testing'    => 30 * 60,  // 30分钟
    ];

    /**
     * 根据env拿到const数据
     * @example Period::getSetting('EXPLORE_UPLOAD_LIMIT_TIME')
     * @param $const
     * @return mixed
     */
    public static function getSetting($const)
    {
        $env = env('APP_ENV') === 'production' ? 'production' : 'testing';
        return constant('self::'.$const)[$env];
    }

}
